package com.ruoyi.project.mgr.arrange.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.project.mgr.arrange.domain.MgrCourseArrange;
import com.ruoyi.project.mgr.arrange.mapper.MgrCourseArrangeMapper;
import com.ruoyi.project.mgr.arrange.service.IMgrCourseArrangeService;
import com.ruoyi.project.mgr.arrange.vo.MonthDayVO;
import com.ruoyi.project.mgr.arrange.vo.WeekDayVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 课程安排Service业务层处理
 * 
 * @author .
 * @date 2020-02-11
 */
@Service
public class MgrCourseArrangeServiceImpl implements IMgrCourseArrangeService 
{
    @Autowired
    private MgrCourseArrangeMapper mgrCourseArrangeMapper;

    /**
     * 查询课程安排
     * 
     * @param id 课程安排ID
     * @return 课程安排
     */
    @Override
    public MgrCourseArrange selectMgrCourseArrangeById(Long id)
    {
        return mgrCourseArrangeMapper.selectMgrCourseArrangeById(id);
    }

    /**
     * 查询课程安排列表
     * 
     * @param mgrCourseArrange 课程安排
     * @return 课程安排
     */
    @Override
    public List<MgrCourseArrange> selectMgrCourseArrangeList(MgrCourseArrange mgrCourseArrange)
    {
        return mgrCourseArrangeMapper.selectMgrCourseArrangeList(mgrCourseArrange);
    }

    /**
     * 新增课程安排
     * 
     * @param mgrCourseArrange 课程安排
     * @return 结果
     */
    @Override
    public int insertMgrCourseArrange(MgrCourseArrange mgrCourseArrange)
    {
        mgrCourseArrange.setCourseDate(DateUtils.parseDate(mgrCourseArrange.getDay()));
        mgrCourseArrange.setCreateBy(ShiroUtils.getSysUser().getUserName());
        mgrCourseArrange.setCreateTime(DateUtils.getNowDate());
        return mgrCourseArrangeMapper.insertMgrCourseArrange(mgrCourseArrange);
    }

    /**
     * 修改课程安排
     * 
     * @param mgrCourseArrange 课程安排
     * @return 结果
     */
    @Override
    public int updateMgrCourseArrange(MgrCourseArrange mgrCourseArrange)
    {
        mgrCourseArrange.setUpdateBy(ShiroUtils.getSysUser().getUserName());
        mgrCourseArrange.setUpdateTime(DateUtils.getNowDate());
        return mgrCourseArrangeMapper.updateMgrCourseArrange(mgrCourseArrange);
    }

    /**
     * 删除课程安排对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteMgrCourseArrangeByIds(String ids)
    {
        return mgrCourseArrangeMapper.deleteMgrCourseArrangeByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除课程安排信息
     * 
     * @param id 课程安排ID
     * @return 结果
     */
    @Override
    public int deleteMgrCourseArrangeById(Long id)
    {
        return mgrCourseArrangeMapper.deleteMgrCourseArrangeById(id);
    }

    @Override
    public List<MonthDayVO> selectDays(List<String> dayList) {
        return mgrCourseArrangeMapper.selectDays(dayList);
    }

    @Override
    public List<WeekDayVO> selectMyArrange(WeekDayVO weekDayVO) {
        return mgrCourseArrangeMapper.selectMyArrange(weekDayVO);
    }

    @Override
    public List<MgrCourseArrange> selectOtherCourseArrangeList(MgrCourseArrange mgrCourseArrange) {
        return mgrCourseArrangeMapper.selectOtherCourseArrangeList(mgrCourseArrange);
    }

    @Override
    public List<MgrCourseArrange> selectMyCourseArrangeList(MgrCourseArrange mgrCourseArrange) {
        return mgrCourseArrangeMapper.selectMyCourseArrangeList(mgrCourseArrange);
    }


}
